<script>
import BaseVeiw from '../View';


export default {
  name: 'ViewSvg',
  extends: BaseVeiw,
  computed: {
    svgURL: function () {
      if (this.detail.style.url == undefined || this.detail.style.url == '') {
        return '';
      } else {
        return this.detail.style.url;
      }
    }
  },
  watch: {
    detail: {
      handler(newVal, oldVal) {
        this.onResize();
      },
      deep: true
    }
  },
  methods: {
    getForeColor() {
      var foreColor = this.detail.style.foreColor;
      if (foreColor == undefined || foreColor === '') {
        return "grey";
      } else if (foreColor.startsWith("#")) {
        return this.hex2rgba(foreColor);
      } else {
        return foreColor;
      }
    },
    hex2rgba(hex) {//颜色转换
      // hex格式如#ffffff
      let colorArr = [];
      for (let i = 1; i < 7; i += 2) {
        colorArr.push(parseInt("0x" + hex.slice(i, i + 2))); // 16进制值转10进制
      }
      var alpha = parseInt("0x" + hex.slice(7, 9)) / 255; // 16进制值转10进制
      return `rgba(${colorArr.join(",")},${alpha})`;
    },
    inRange(x, y, points) {//边界检测-只能检测凸边形（检测点在不在多边形里面）
      // points表示多边形的顶点集合
      let inside = false;
      for (let i = 0, j = points.length - 1; i < points.length; j = i++) {
        let xi = points[i][0],
            yi = points[i][1];
        let xj = points[j][0],
            yj = points[j][1];
        let intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);
        if (intersect)
          inside = !inside;
      }
      return inside;
    }
  },
  mounted() {

  }
}
</script>
